package py.edu.ucom.cadira.game.war;

import org.jdom.Element;

/**
 * 
 * @author WaterlooTeam
 *Esta clase es la casilla del tablero contiene la posicion [x][y] dentro del 
 *tablero y la informacion de si tiene o no una tab sobre esa casilla
 */
public class Square {
	private int posX;
	private int posY;
	private Tab tab;
	private boolean esAgua;
	/**
	 * Este metodo es el constructor de la clase Square lo que hace es setear 
	 * las posiciones x e y dentro del tablero y carga una tab vacia dentro de 
	 * cada casilla
	 * @param posX posicion de las filas dentro del tablero
	 * @param posY posicion de las columnas dentro del tablero
	 */
	public Square(int posX, int posY) {
		this.posX = posX;
		this.posY = posY;
		this.esAgua=false;
		this.tab=new Tab();
	}
	public Square(){
		
	}
	public Tab getTab() {
		return tab;
	}
	public void setTab(Tab ficha) {
		this.tab = ficha;
	}
	public int getPosX() {
		return posX;
	}
	public void setPosX(int posX) {
		this.posX = posX;
	}
	public int getPosY() {
		return posY;
	}
	public void setPosY(int posY) {
		this.posY = posY;
	}
	public boolean isEsAgua() {
		return esAgua;
	}
	public void setEsAgua(boolean esAgua) {
		this.esAgua = esAgua;
	}
    public Element toXml(Element squareNode){
        Element posicionX = new Element("posicionX");
        posicionX.addContent(String.valueOf(getPosX()));
        squareNode.addContent(posicionX);
        Element posicionY = new Element("posicionY");
        posicionY.addContent(String.valueOf(getPosY()));
        squareNode.addContent(posicionY);
        return squareNode;
    }
    public Square fromXml(Element squareNode){
        Element posicionX = squareNode.getChild("posicionX");
        this.setPosX(Integer.parseInt(posicionX.getValue()));
        Element posicionY = squareNode.getChild("posicionY");
        this.setPosY(Integer.parseInt(posicionY.getValue()));
        return this;
    }
}